GAME RIPPER
===========

*** Use only to recorver your own assets, never ever, absolutely DO NOT rip someone else's game! ***

Easy to use, multiplatform [game assets viewer and ripper](https://notabug.org/gameripper/gameripper) with a GUI. Single native
executable for both [Windows](https://notabug.org/gameripper/gameripper/raw/master/gameripper-windows.zip) and
[Linux](https://notabug.org/gameripper/gameripper/raw/master/gameripper-linux.zip). Just unzip it anywhere, no installation required.

Unlike with other similar tools, here no missing DLLs, no outdated MSVC redist, no missing Python modules, no JRE version mismatch,
no etc. It just works out-of-the-box, no technical knowledge required at all. Multilingual and fully SHIFTJIS, UNICODE and UTF-8
aware, no more problems with strange Japanese filenames and missing fonts on English localized Windows! This is also a clean and
standalone implementation, meaning it does NOT patch nor inject code into the games like other rippers. It also does not use any
on-line services hence no telemetry, and it does not leave any trace your computer, no registry keys nor unwanted files created.

Usage
-----

Drag'n'drop a game folder (or file) into the GAME RIPPER window (or click or press <kbd>Enter</kbd> to open folder selection).

Yeah, really *this* simple. Encryption key autodetection, format conversion etc. everything is taken care for you. Browse the
assets in the viewer, save gallery, export / import texts, or just *"Decrypt / Unpack all"* raw assets with a single click!

Supported Game Formats
----------------------

- Pixel Game Maker MV (fully supported, including text translations)
- RPG Game Maker MV / MZ (also encryption key autodetection if "www/data/System.json" is missing)
- Wolf RPG / Pro (deobfuscate and unpack DxLib v6 and v8 Archives, encryption autodetection)
- Godot PCK (could be embedded in .exe or .elf, also encryption key autodetection)
- Ren'Py (unpack RPA files (without python) and also deobfuscate scripts (if python found))
- KiriKiri3 / KrKrZ / KAG (just unpacks XP3, no deobfuscation yet, but TLGs are converted to PNGs)
- Illusion / IllGames Scenes (unpack HC, KK, KKS, HS, HS2, RG characards)

Supported asset formats: JSON, CSV, PO, TMX, WAV, OGG, MP3, BMP, TLG, GIF, PNG, JPEG, WEBP for now, more to come.

What is and going to be supported: popular [engine formats](src/engines) that are used by many games (like eg. Ren'Py) or if a
game with a large content creator community uses it (like the Koikatsu CharaStudio or HoneyCome DigitalCraft Scene unpackers).

What's definitely NOT going to be added: obscure formats that only one particular nieche game uses (for those take a look at
[arc_unpacker](https://github.com/vn-tools/arc_unpacker/releases), also Free and Open Source but CLI and Windows-only).

License
-------

Free and Open Source, [Public Domain](http://creativecommons.org/publicdomain/zero/1.0/). Comes without any warranty, nor
guarantee of fitness for a particular purpose, so *always backup your game files* before use, just to be on the safe side.

Troubleshooting FAQ
-------------------

- Press <kbd>Win</kbd>+<kbd>R</kbd> and type (`(path)` being the directory where you've unzipped GAME RIPPER):

```
(path)\gameripper.exe /v
```

Load the game, exit GAME RIPPER and a detailed log will show up (also saved in `gameripper.log` file). Please attach this log
file along with a public download link of the faulting game file to bugreports.

- If the sprites are blurry, press <kbd>Space</kbd> to toggle between smooth and pixel correct zooming.

- Automatic animation detection might mess up some sprites, you can press <kbd>Backspace</kbd> to convert it back to a sprite sheet.

- If you have a single sprite sheet with multiple frames on it, click on "Animate", specify the number of columns and rows and click
"Animate" again.

- Of you have multiple sprites each with exactly one animation frame, then you'll need to merge. Click on the sprite with the first
frame, then <kbd>Shift</kbd> + click on the sprite with the last frame. A new animated sprite will be added with all those frames.

- If your operating system's language is not detected correctly, press <kbd>F1</kbd> to cycle through languages.

- If encryption key autodetection isn't working then press <kbd>F2</kbd> on program start up, and you can enter the key manually.

- If a game *file* isn't recognized, try drag'n'dropping the game's *folder* instead.

- If you get "Out of memory" error message, then run from the command line as `gameripper.exe /d (path to game)`, This will not load
all the assets into memory (which could be a lot), rather just decrypts and unpacks the game one file at a time. On Linux, use
`./gameripper -d (path to game)`. In this mode GAME RIPPER automatically quits when processing is done.

Screenshots
-----------

<img src="https://notabug.org/gameripper/gameripper/raw/master/screenshot1.png">

The start up screen.

<img src="https://notabug.org/gameripper/gameripper/raw/master/screenshot2.png">

Japanese characters in file names works correctly.

<img src="https://notabug.org/gameripper/gameripper/raw/master/screenshot3.png">

You can convert sprite sheets into animations.

<img src="https://notabug.org/gameripper/gameripper/raw/master/screenshot4.png">

The map viewer helps you finding secret areas.

<img src="https://notabug.org/gameripper/gameripper/raw/master/screenshot5.png">

For some engines exporting / importing translated texts also supported.

Have fun!
